package com.frank.oj.service.team;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.frank.model.entity.group.GroupMember;
import com.frank.oj.common.result.CommonResult;
import com.frank.oj.model.vo.GroupMemberVO;

/**
 * @author frank
 * @Date 2024/5/4
 */
public interface GroupMemberService {
    CommonResult<IPage<GroupMemberVO>> getMemberList(Integer limit, Integer currentPage, String keyword, Integer auth, Long gid);

    CommonResult<IPage<GroupMemberVO>> getApplyList(Integer limit, Integer currentPage, String keyword, Integer auth, Long gid);

    CommonResult<Void> addMember(Long gid, String code, String reason);

    CommonResult<Void> updateMember(GroupMember groupMember);

    CommonResult<Void> deleteMember(String uid, Long gid);

    CommonResult<Void> exitGroup(Long gid);
}
